#ifndef FITNESS_PERMUTACION_CUH
#define FITNESS_PERMUTACION_CUH


float matrizCosto[4][4] =  {{0,1,3,1},{1,0,1,4},{3,1,0,1},{1,4,1,0}};
//float matrizCostos[10][10] = {{0,20,15,30,25,40,30,60,50,45},{20,0,30,20,15,15,20,40,40,30},{15,30,0,25,30,20,30,40,45,50},{30,20,25,0,20,30,10,50,40,30},{25,15,30,20,0,10,20,20,30,40},{40,15,20,30,10,0,20,30,20,30},{30,20,30,10,20,20,0,35,40,30},{60,40,40,50,20,30,35,0,30,15},{50,40,45,40,30,20,40,30,0,20},{45,30,50,30,40,30,30,15,20,0}};
float matrizCostos[6][6] = {{0, 25, 40, 31, 27, 0}, {5, 0, 17, 30, 25, 0}, {19, 15, 0, 6, 1, 0}, {9, 50, 24, 0, 6, 0}, {22, 8, 7, 10, 0, 0}, {0, 0, 0, 0, 0, 0}};

__device__ float matrizCostoDevice[4][4] =  {{0,1,3,1},{1,0,1,4},{3,1,0,1},{1,4,1,0}};
//float matrizCostos[10][10] = {{0,20,15,30,25,40,30,60,50,45},{20,0,30,20,15,15,20,40,40,30},{15,30,0,25,30,20,30,40,45,50},{30,20,25,0,20,30,10,50,40,30},{25,15,30,20,0,10,20,20,30,40},{40,15,20,30,10,0,20,30,20,30},{30,20,30,10,20,20,0,35,40,30},{60,40,40,50,20,30,35,0,30,15},{50,40,45,40,30,20,40,30,0,20},{45,30,50,30,40,30,30,15,20,0}};
__device__ float matrizCostosDevice[6][6] = {{0, 25, 40, 31, 27, 0}, {5, 0, 17, 30, 25, 0}, {19, 15, 0, 6, 1, 0}, {9, 50, 24, 0, 6, 0}, {22, 8, 7, 10, 0, 0}, {0, 0, 0, 0, 0, 0}};

float calcularFitnessPermutacionCPU(int* poblacion, int posicion);
__device__ float calcularFitnessPermutacion(int* poblacion, int posicion);

#endif
